1. Field of the Invention
This invention relates generally to disc players, and more particularly to methods and apparatus for efficiently retrieving different types of information from a disc memory medium.
2. Description of the Related Art
Optical discs have become an integral part of computer systems due to their ability to store large quantities and types of data on a single medium. For example, compact discs (CD) are capable of holding over 630 megabytes of data. The types of data can range from computer CD read only memory (ROM) data, photoCD, CD-i, DVD, laser disc, CD-audio to various video formats, as well as the myriad of other data formats, as known in the art. The different types of CD data are sometimes speed specific, i.e., the CD must be spinning at a fixed speed in order to properly process the CD data.
FIG. 1 is a block diagram of a typical CD drive 10 used in a computer system. The CD drive normally includes a CD drive assembly 11, digital signal processor (DSP) 14, a microprocessor 20, a CD drive controller 28, a digital to analog converter 111, and an amplifier 112.
The CD drive assembly 11 is typically a mechanism through which a CD 13 is spun in order to retrieve data from the CD. The CD drive assembly generally includes a servo/motor assembly 12 that does the actual spinning of CD 13. CD drive assembly 11 also includes transducers (not shown) that enable it to read and/or write data to and from the CD. When the CD assembly retrieves information from CD 13, CD drive assembly 11 passes the information on to DSP 14.
DSP 14 processes the information retrieved from the CD drive assembly 11. Typically, DSP 14 performs error correction code decoding on the information retrieved from CD 13, among various other functions. The information can be temporarily stored in a DSP buffer 16 while undergoing processing. The processed data is then sent to either the CD drive controller 28 to be passed on to a central processing unit 40 of the computer system, or to D/A 111 for amplification by amplifier 112 and eventual output to a speaker 113. Typically, before DSP 14 routes the retrieved information to D/A 111, DSP 14 performs additional processing steps in order to enable D/A 111 to properly receive information.
In addition to performing the initial processing of the CD data, DSP 14 can also control the servo/motor assembly of the CD drive assembly. The DSP typically includes a servo/motor controller 17 that manages the operation of servo/motor assembly 12.
Microprocessor 20, in turn, controls the functions of the DSP, as well as other parts of CD drive 10. Microprocessor 20 operates in conjunction with appropriate memories 22 and 24. Typically, one memory is a read only memory 22 and the other is a random access memory 24. The read only memory 22 normally includes instructions for the operation of the microprocessor. Microprocessor 20 typically receives an instruction from a CPU 40 to retrieve information from CD 13. The instruction can indicate what piece of information is needed, and where the information should be routed to.
FIG. 2 is a block diagram of CD drive controller 28. If the information retrieved from CD 13 is data which is to be routed to the CPU, DSP 14 passes the requested information to CD drive controller 28. CD drive controller 28 includes a disc interface 30, a buffer manager 32 and host interface 34. The disc interface 30 receives the CD information from DSP 14 and passes it along to the buffer manager 32. The buffer manager 32 typically buffers the information in a memory buffer 36 for reformatting the information so that the information can be sent to CPU 40 through host interface 34. Typically, information routed to CPU 40 can include any of the various types of data formats that may be included on CD 13.
CPU 40, or the microprocessor 20 independently, can route the information retrieved from CD 40 to D/A 111. Generally, information routed to D/A 111 is only the CD-audio type of data, since that particular type of information is formatted for immediate output to a speaker 113.
Upon receiving a request for information that is speed dependent, microprocessor 20 typically instructs DSP 14 to adjust the speed of the servo/motor assembly to a speed associated with the speed dependent format. For CD-audio data the speed is normally at a constant linear velocity such that the data is read at the audio sample rate of 44.1 kHz per sample, a sample consisting of two sixteen bit values, commonly referred to as 1.times. speed. Most CD-drives today operate at speeds much greater than the 1.times. speed required for reading CD-audio data. For example, CD-drives can operate at 24.times. speed (i.e., twenty times the speed of 1.times.), and typically are not slower than 4.times. speed. Normally the highest speed is the most optimal and is the normal operating speed.
In prior art CD drives, DSP 14 typically directs the servo/motor assembly to slow down the spin of CD 13 from the normal operating speed if the requested information is in a speed specific data format slower than the normal operating speed. Typically, after the retrieval of the information, the servo/motor assembly 12 is typically required to speed back up to the normal operating speed.
CD drives can operate at such high speeds because most types of data can be read at high speed and routed to the CPU at similarly high speeds. Unfortunately, when the data is in the CD-audio format and is required to be output to speaker 113, the servo/motor assembly must reduce its speed back to 1.times. speed. Typically, this is due to the fact that if the CD-audio information were to be sent at a data rate associated with a speed greater than 1.times. speed to D/A 111 and correspondingly to speaker 113, via D/A 111 and amplifier 112, the output of the speaker would be discordant. For example, CD-audio data typically contains data sampled at a 44.1 kHz rate. Consequently, if the CD-audio data is played back at a higher rate than 44.1 kHz, the audio output will be too high in pitch or even sound unpleasant to a listener.
FIG. 3 is a flow chart of the operation of the CD drive depicted in FIG. 1, typically implemented by microprocessor 20. CD drive 10 typically operates at a normal speed in step 51, some multiple of 1.times., until it is requested to retrieve CD-audio type information from CD 13 for output to speaker 113. In step 53, the speed of the servo/motor assembly 12 is slowed down to 1.times. speed in order to read the CD-audio data at the appropriate speed. The CD drive controller 28 is normally also configured by microprocessor 20 to handle receipt of the CD-audio information, and pass it along to CPU 40 if desired in step 55. Microprocessor 20 further configures DSP 14, in step 57, to route the CD-audio data to D/A 111 for output to speaker 113.
The need to slow down the speed of servo/motor assembly 12 creates a great number of inefficiencies. First, and foremost, the slowing down and subsequent speeding up of the servo/motor assembly to read speed dependent data increases the access time to retrieve information from a disc. The repetitive change in speeds also detrimentally effects the lifetime and long term reliability of the servo/motor assembly due to the increased stress applied on servo/motor assembly 12 during speed changes. Finally, with future increases in disc drive speeds past 24.times., providing the ability to operate at such drastically different speeds will require additional costs and complexity in the disc drives. Thus, what is desired is an improved method and apparatus for retrieving speed dependent information from a disc without having to constantly slow down and speed back up.